全面式開發工具助陣 嵌入式產品開發事半功倍
當進行一項新的嵌入式開發案時,工程師可能會面臨兩大挑戰:一,選擇微控制器(MCU),以符合應用的需求;二,為適用的微控制器編寫韌體,以落實設計。
使開發流程更形複雜的是,注重節能的應用必須符合嚴格的功耗要求,而這通常必須對微控制器複雜的內部運作有廣泛的了解。在目前的嵌入式市場上,學習如何運用及配置微控制器所花的時間,往往超過了開發案所配置的時間。
MCU硬體資源百家爭鳴 嵌入式應用開發挑戰加劇
使問題更具挑戰性的是,將微控制器配置成符合資料表中所宣稱的規格,可能會是極為冗長且複雜的差事,因為微控制器業者所宣稱的功率數字並沒有那麼容易複製。這些因素加總起來後,嵌入式開發的複雜度便超過了原本所預期。微控制器的開發人員應該要能將微控制器創新的設計充分運用到本身的應用上,以創造出最佳的嵌入式解決方案。比方說,低功耗的微控制器應該要很容易配置,以達成最低功耗的運轉,使特定的應用具有最長的電池壽命。更長的電池壽命,即能降低終端產品的成本,讓產品在競爭中更具優勢。
要完成這個任務,最好的辦法就是採用全面式開發平台,而不僅僅是整合式開發環境(IDE)。在這裡先把「全面式開發平台」的標準定義如下(圖1):
![]() |
| 圖1 全面式開發系統涵蓋整合式開發環境(IDE) |
.對現有產品的看法完整且具教育性
.選擇樣品及產品方式迅速而簡單
.可對目標微控制器配置、開發、分析和最佳化程式碼
.開發遇到問題時有技術資源可用
.可自動更新,提供最新的文件說明、軟體和範例
當軟體工具所提供的解決方案符合上述標準時,它就能簡化開發流程,並縮短上市時間。現在我們可以來深入了解,第一項開發挑戰–對現有產品的看法完整且具教育性,要如何靠全面式開發平台來因應。
首先,開發人員必須找出符合新應用規格的微控制器。在目前的市場上,開發人員可選擇的現有微控制器產品多如牛毛,這儼然會讓人摸不著頭緒,找到理想的微控制器也會是件難事。在尋找理想元件時,開發人員一般會為系統定出多項能幫忙引導搜尋的設計要求。
例如運用電池驅動的應用可能需要能盡量延長電池壽命的節能微控制器,同時還要提供快速而有效率的核心,如此才能應付運算密集的運作。這種對功耗敏感的應用有個不錯的例子,那就是靠電池驅動的智慧型手表。
在這個例子中,開發人員可以把搜尋範圍縮小到針對超低功耗作業所最佳化的安謀國際(ARM)Cortex-M3微控制器。這能把搜尋範圍縮小到少數幾家業者,但所用的元件是哪一種仍留下了問號。為了幫助開發人員迅速縮小搜尋範圍,全面式開發平台應該要納入某種搜尋工具或教育資源,以便就特定的微控制器系列來幫忙教育開發人員。
當前首屈一指的微控制器供應商所推出的微控制器系列都很廣泛,所以要為嵌入式應用找到最理想的微控制器產品並不容易。可搜尋的微控制器開發工具可以協助開發人員點選幾下滑鼠後,就把搜尋範圍縮小至十到二十種微控制器。
找到理想的微控制器解決方案後,開發人員就必須考慮開發成本和新微控制器的相關開發時間。使用已知的微控制器所需要的開發資源顯然比較少,不過,新的微控制器或許能大幅提升效能或減少耗能。延續先前的例子,靠電池驅動的應用降低了耗能後,就能延長電池壽命,進而提升效率並降低成本。在這個例子中,開發人員如果採用較節能的元件,或許就能從中受益。
圖形化配置工具助力 MCU嵌入式開發更直覺
圖形化配置工具助力 MCU嵌入式開發更直覺
理想情況下,開發工具須提供圖形化的介面,使開發人員不必大費周章查看資料表或應用須知,就能研判元件要如何使用。軟體平台應該要把這些複雜面加以抽象化,同時為開發人員提供一個介面,以透過勾選方塊、下拉式選單和文字欄位來配置元件。
雖然表面上看起來像是個簡單的概念,但開發工具有了這種功能後(圖2),就能大幅簡少設計時程,進而縮短上市時間。除了提供指引,這些軟體工具還能透過計算器來檢查錯誤與提供智慧應用使開發流程進一步簡化。
![]() |
| 圖2 圖形化配置工具 |
圖形化配置工具應該要能解決相關的錯誤,包括接腳組態(接腳規格衝突或模式設定)、時脈閘控(Clock Gating)(假如周邊的配置未能替模組啟用時脈)或周邊配置。除了檢查和解決錯誤,計算器還能把開發加以簡化。
例如在為通用非同步收發傳輸器(UART)配置鮑率(Baud Rate)時,可能要用到系統時脈和其他的設定。智慧軟體工具會把這些運算加以抽象化,使開發人員不用查閱資料表或參考手冊,就能輸入所要的鮑率。
微控制器和周邊配置程式碼定案後,開發人員就能轉而把心思擺在優化上。監控即時功耗的最佳化軟體工具可快速識別程式碼中最耗電的部分。注重節能對所有的應用都有好處,而對於運用電池驅動的應用來說尤其重要。測量平均功耗可以幫忙看出整體應用的「功耗概況」,而知道即時功耗發生在哪裡則有助於開發人員的判斷,並可以由來源處最佳化程式碼。
例如,看到耗電的圖形化輸出等於馬上就知道功耗有沒有任何顯著的增加。把這點再往前推一步,能點擊應用的圖表和動態,就會看到一行與該功耗相關的C語言對應程式碼(圖3)。對低功耗開發人員來說,這點十分珍貴。這表示開發人員在追查能耗上升時,可以追到特定行次的程式碼並加以最佳化。對於運用電池驅動的應用來說,這種「掌握耗能」的能力尤其會是關鍵,因為每一微安培(μA)、甚至是奈安培(nA)的差距都馬虎不得。
![]() |
| 圖3 動態功能把系統效能搭配上相應的程式碼。 |
在著手編製最終的程式碼畫面時,開發人員肯定需要某種技術支援或設計資源。全面式開發生態系統所整合的資源介面使開發人員只須點擊一下,就有技術支援、社群論壇、知識庫和應用須知可運用。
這看起來或許像是小事一樁,可是當最終的程式碼畫面下週或隔天就要完成,但在設計上卻碰到問題時,馬上找到設計支援就至為關鍵。你可不希望把時間浪費在尋找正確的支援介面上。除了支援管道,為開發人員提供最新的資訊對於簡化嵌入式開發也至關重要。
這代表開發人員總是會隨時獲知最新的程式碼範例、技術文件說明以及軟體。理想上,軟體開發工具必須能在同個位置提供所有必要的支援。等這些難題解決後,開發人員接下來就要去處理生產方面的問題。
全面式開發生態系統可以把與開發韌體有關的複雜面加以抽象化。雖然大部分的開發人員只看微控制器的規格,但也不應忽視軟體開發工具。畢竟微控制器的效能是掌控在開發人員的手上。假如開發人員不知道如何以最有效率的模式來配置設備,微控制器的作用就形同虛設。此外,開發成本也會迅速暴增,並影響到整體時程與成本。微控制器業者以單一軟體平台為開發人員提供所需要的一切時,它就能簡化設計週期,並縮短開發時間、開發成本與上市時間。在目前的競爭環境中,像這樣的優勢不容忽視。
在為新的應用尋找可能的微控制器時,嵌入式開發人員不應忽視軟體開發工具的重要性。它能簡化開發流程,並使應用達到最高的能源效率。開發人員所尋找的全面式開發生態系統要簡單好用,而且從最初的概念到最終的產品,都要以單一的套裝軟體來為他們提供所需要的一切資源。理想的開發生態系統能幫助嵌入式設計人員為特定的應用找到最適用的微控制器,協助開發人員打造出節能的應用,並縮短開發時間與上市時間。


